package classes
{
	import components.dialogs.adjustments.c_AnimEffectDialog;
	import components.dialogs.adjustments.c_BRCN;
	import components.dialogs.adjustments.c_RGBBalance;
	import components.dialogs.adjustments.c_Saturation;
	import components.dialogs.adjustments.c_Text;
	import components.dialogs.adjustments.c_defaultDialog;
	import components.dialogs.c_propertyDialog;
	import components.dialogs.effects.c_Bevel;
	import components.dialogs.effects.c_Blur;
	import components.dialogs.effects.c_Glow;
	import components.dialogs.effects.c_Shadow;
	import components.editor.c_baseElement;
	import components.editor.c_effectElement;
	import components.editor.c_textElement;

	public class c_layerAdjustDialogs {
		public static function get(type: int): Class {
			switch (type) {
				case c_layerAdjustType.BRCN			: return c_BRCN;
				case c_layerAdjustType.RGBBALANCE	: return c_RGBBalance;
				case c_layerAdjustType.SATURATION	: return c_Saturation;
				case c_layerAdjustType.SHADOW		: return c_Shadow;
				case c_layerAdjustType.BEVEL		: return c_Bevel;
				case c_layerAdjustType.BLUR			: return c_Blur;  
				case c_layerAdjustType.GLOW			: return c_Glow;   
				case c_layerAdjustType.PROPERTY		: return c_Text;  
				case c_layerAdjustType.EFFECT		: return c_AnimEffectDialog;   
			}
			return c_defaultDialog;
		}
		
		public static function compatibility(type: int, element: c_baseElement): Boolean {
			switch (type) {
				case c_layerAdjustType.PROPERTY		: return element is c_textElement;  
				case c_layerAdjustType.EFFECT		: return element is c_effectElement;  
			}
			return true;
		}
	}
}